<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
 * PHP version 5
 *
 * This source file is subject to version 2.1 of the GNU Lesser General Public
 * License, that is bundled with this package in the file COPYING, available
 * through the world wide web at the following URI:
 * http://www.gnu.org/copyleft/lesser.html.
 *
 * @package    ZNF
 * @subpackage Action
 * @author     Alessandro Rossini <http://www.alessandrorossini.org>
 * @author     Graziano Liberati <http://www.liberati.org>
 * @copyright  2004-2007 The ZNF Development Team
 * @license    LGPL License 2.1 <http://www.gnu.org/copyleft/lesser.html>
 * @version    SVN $Id: Action.php 43 2007-06-26 23:36:35Z aronnax $
 * @since      Release 0.5.0
 * @link       http://www.zeronotice.org
 */

/**
 * <i>ZNF_Action_Action</i> is an adapter between the contents of an incoming HTTP request and the corresponding business logic.
 *
 * <i>ZNF_Action_Action</i> should be executed to process the request. The
 * controller <i>ZNF_Action_RequestProcessor</i> selects an appropriate
 * <i>ZNF_Action_Action</i> for each request, creates an instance and calls the
 * <i>ZNF_Action_Action->execute()</i> method.
 *
 * When a <i>ZNF_Action_Action</i> is created the controller requires all the
 * classes for the action requested. Subclasses must override the
 * <i>ZNF_Action_Action->execute()</i> method to implement the dispatching
 * mechanism for the action.
 *
 * @access     public
 * @package    ZNF
 * @subpackage Action
 * @author     Alessandro Rossini <http://www.alessandrorossini.org>
 * @author     Graziano Liberati <http://www.liberati.org>
 * @copyright  2004-2007 The ZNF Development Team
 * @license    LGPL License 2.1 <http://www.gnu.org/copyleft/lesser.html>
 * @version    SVN $Id: Action.php 43 2007-06-26 23:36:35Z aronnax $
 * @since      Release 0.5.0
 * @link       http://www.zeronotice.org
 */
class ZNF_Action_Action
{

    /**
     * Constructs a new <i>ZNF_Action_Action</i> object.
     *
     * @access public
     */
    public function __construct()
    {
    }

    /**
     * Code to execute the action, must be implemented by subclasses.
     *
     * By default this method returns <i>null</i>, so no error or warning are
     * displayed if the subclass doesn't implement it.
     *
     * @access public
     * @param ZNF_Action_ActionForm $form
     * @param ZNF_Action_ActionMapping $mapping
     * @return ZNF_Action_ActionForward
     */
    public function execute($form, $mapping)
    {
        return null;
    }

    /**
     * Destroys the <i>ZNF_Action_Action</i> object.
     *
     * @access public
     */
    public function __destruct()
    {
    }

}

/**
 * <i>ZNF_Action_ActionException</i> is the exception type for the <i>ZNF_Action_Action</i> class.
 *
 * <i>ZNF_Action_ActionException</i> extends the <i>Exception</i> class of PHP5.
 *
 * @access     public
 * @package    ZNF
 * @subpackage Action
 * @author     Alessandro Rossini <http://www.alessandrorossini.org>
 * @author     Graziano Liberati <http://www.liberati.org>
 * @copyright  2004-2007 The ZNF Development Team
 * @license    LGPL License 2.1 <http://www.gnu.org/copyleft/lesser.html>
 * @version    SVN $Id: Action.php 43 2007-06-26 23:36:35Z aronnax $
 * @since      Release 0.5.0
 * @link       http://www.zeronotice.org
 */
class ZNF_Action_ActionException extends Exception
{
}

?>
